//package zhongbo.java.air.web;
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.util.StrUtil;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.WebDataBinder;
//import org.springframework.web.bind.annotation.*;
//import zhongbo.java.air.common.vo.ResultVo;
//import zhongbo.java.air.model.FlightActivityDaily;
//import zhongbo.java.air.service.IFlightActivityDailyService;
//
//import java.beans.PropertyEditorSupport;
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.List;
//
///**
// * 说明：
// *
// * @author 钟波dellNotebook
// * @since 2025年04月08日 星期二 03:35:26
// */
//@RestController
//@RequestMapping("flightActivityDaily")
//@Api(tags = "每日航迹活动信息接口")
//public class FlightActivityDailyController {
//    @InitBinder
//    public void initBinder(WebDataBinder binder) {
//        // 注册多个日期格式
//        SimpleDateFormat[] dateFormats = {
//                new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),
//                new SimpleDateFormat("yyyy-MM-dd"),
//                new SimpleDateFormat("yyyy-MM-dd 'T' HH:mm:ss 'Z'")
//        };
//
//
//        binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
//            @Override
//            public void setAsText(String text) throws IllegalArgumentException {
//                if (text != null && !text.isEmpty()) {
//                    for (SimpleDateFormat format : dateFormats) {
//                        try {
//                            setValue(format.parse(text));
//                            return;
//                        } catch (ParseException e) {
//                            // 尝试下一个格式
//                        }
//                    }
//                    throw new IllegalArgumentException("Invalid date format: " + text);
//                }
//            }
//        });
//    }
//
//    @Autowired
//    private IFlightActivityDailyService flightActivityDailyService;
//
//    @ApiOperation("查询当天分组统计结果")
//    @GetMapping("getDailyStats")
//    public ResultVo<List<FlightActivityDaily>> getDailyStats(String date) {
//        // 如果不传, 则默认查当天的统计结果
//        if (StrUtil.isBlank(date)) {
//            date = DateUtil.today();
//        }
//        List<FlightActivityDaily> dailyList = flightActivityDailyService.getDailyStats(date);
//        return ResultVo.ok(dailyList);
//    }
//
//    // todo 今日周二待做, 标准crud接口(包括分页)
//
//    @PostMapping("addPath")
//    @ApiOperation("获取添加航班活动列表")
//    public ResultVo<FlightActivityDaily> add(@RequestBody FlightActivityDaily flightActivityDaily) {
//        FlightActivityDaily add = flightActivityDailyService.add(flightActivityDaily);
//        if (add != null) {
//            return ResultVo.ok(add);
//        }
//        return ResultVo.failed();
//    }
//
//    @PostMapping("deletePath")
//    @ApiOperation("获取删除航班活动列表")
//    public ResultVo<String> delete(@RequestBody String id) {
//        String delete = flightActivityDailyService.delete(id);
//        if (delete != null) {
//            return ResultVo.ok(delete);
//        }
//        return ResultVo.failed();
//    }
//    @PostMapping("editPath")
//    @ApiOperation("获取修改航班活动列表")
//    public ResultVo<FlightActivityDaily> edit(@RequestBody  FlightActivityDaily edit) {
//        FlightActivityDaily editN = flightActivityDailyService.edit(edit);
//        if (editN != null) {
//            return ResultVo.ok(edit);
//        }
//        return ResultVo.failed();
//    }
//    @PostMapping("selectPath")
//    @ApiOperation("获取查询航班活动列表")
//    public ResultVo<FlightActivityDaily> select(@RequestBody String id) {
//        FlightActivityDaily select = flightActivityDailyService.selectId(id);
//        if (select != null) {
//            return ResultVo.ok(select);
//        }
//        return ResultVo.failed();
//    }
//    @PostMapping("selectPagePath")
//    @ApiOperation("获取分页查询航班活动列表")
//    public ResultVo<List<FlightActivityDaily>> select(@RequestBody Integer page, Integer pageSize
//            , String icao, String startDate, String endDate
//            , String keyword, String fields
//            , String oderByField, Boolean orderByAsc) {
//        List<FlightActivityDaily> select = flightActivityDailyService.getDailyActivityList(date,icaoCode,orderByField,orderByAsc);
//        if (select != null) {
//            return ResultVo.ok(select);
//        }
//        return ResultVo.failed();
//    }
//
//}
